package com.atguigu.gmall.product.service;


import com.atguigu.gmall.model.list.Goods;
import com.atguigu.gmall.model.product.SkuInfo;
import com.atguigu.gmall.model.product.SpuSaleAttr;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
* @author Dell
* @description 针对表【sku_info(库存单元表)】的数据库操作Service
* @createDate 2022-05-19 10:00:50
*/
public interface SkuInfoService extends IService<SkuInfo> {

    /**
     * 保存sku商品信息
     * @param skuInfo
     */
    void saveSkuInfo(SkuInfo skuInfo);

    /**
     * 查询商品价格
     * @param skuId
     * @return
     */
    BigDecimal getPrice(Long skuId);

    /**
     * 根据skuId查询所有销售属性和值
     * @param skuId
     * @return
     */
    List<SpuSaleAttr> getSkuSaleAttrAndValue(Long skuId);

    Map<String, String> getValuesSkuJson(Long skuId);

    /**
     * 获取所有Sku的ID
     * @return
     */
    List<Long> getAllSkuId();

    void onOrcanceSale(Long skuId, int i);

    /**
     * 保存到ES中
     * @param skuId
     * @return
     */
    Goods getSearchGoods(Long skuId);
}
